package learning.spring.config;

import learning.spring.binarytea.BinaryTeaProperties;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Configuration;

/**
 * 由于工程生成的包名是 learning.spring.binarytea，所以默认会扫描这个包下的类。
 * 出于演示的目的，我们不希望 Spring Boot 工程自动扫描到 ShopConfiguration 类，所以特意将它放在 learning.spring.config 包中。
 * Spring Boot 的自动配置机制会通过 spring.factories 文件里的配置，找到我们的 ShopConfiguration 类。-- 所以很多时候不需要非要配置spring.factories
 */
@Configuration// 3、声明为配置类，当时满足2时生效
@EnableConfigurationProperties(BinaryTeaProperties.class)// 1、加载配置属性
@ConditionalOnProperty(name = "binarytea.ready", havingValue = "true")// 2、判断属性值是否满足条件
public class ShopConfiguration {

}
